//@ts-nocheck
let tree = {
  value: 'A',
  left: {
    value: 'B',
    left: {
      value: 'D'
    },
    right: {
      value: 'E'
    }
  },
  right: {
    value: 'C',
    left: {
      value: 'F'
    },
    right: {
      value: 'G'
    }
  }
};

let depth = -1;
function traverse(node) {
  depth++;
  if(node) {
    console.log(depth, node.value);
    traverse(node.left);
    traverse(node.right);
  }
  depth--;
}

traverse(tree);
/*
0 'A'
1 'B'
2 'D'
2 'E'
1 'C'
2 'F'
2 'G'
*/
